import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {HttpModule, JsonpModule} from '@angular/http';

import {SharedModule} from '../../shared/shared.module';
import {BasicRoutingModule} from './basic-routing.module';
import {DicComponent} from './dic/dic.component';

import {FarmComponent} from './farm/farm.component';
import {BasicComponent} from './basic.component';
import {DicKeyListComponent} from './dic/dic-key-list/dic-key-list.component';
import {DicKeyEditComponent} from './dic/dic-key-edit/dic-key-edit.component';
import {DicValueListComponent} from './dic/dic-value-list/dic-value-list.component';
import {DicValueEditComponent} from './dic/dic-value-edit/dic-value-edit.component';
import {SetofkeyService} from '../../service/setofkey.service';
import {SetofvalueService} from '../../service/setofvalue.service';


import {TurbStatusService} from '../../service/turbstatus.service';
import {MyValidators} from '../../utils/validator/rang';
import {TagService} from '../../service/tag.service';
import {FarmListComponent} from './farm/farm-list/farm-list.component';
import {FarmEditComponent} from './farm/farm-edit/farm-edit.component';
import {TurbstatusComponent} from './turbstatus/turbstatus.component';
import {TurbstatusListComponent} from './turbstatus/turbstatus-list/turbstatus-list.component';
import {TurbstatusEditComponent} from './turbstatus/turbstatus-edit/turbstatus-edit.component';
import {FarmService} from '../../service/farm.service';
import {ColorConversion} from '../../utils/pipe/colorConversion.pipe';
import {FilterDataPipe} from '../..//utils/pipe/filter-data.pipe';
import {TurbstatusCheckComponent} from './turbstatus/turbstatus-check/turbstatus-check.component';
import {TagComponent} from './tag/tag.component';
import {PhaseComponent} from './phase/phase.component';
import {PhaseListComponent} from './phase/phase-list/phase-list.component';
import {PhaseEditComponent} from './phase/phase-edit/phase-edit.component';
import {PhaseService} from '../../service/phase.service';
import {TagListComponent} from './tag/tag-list/tag-list.component';
import {TagDetailsComponent} from './tag/tag-details/tag-details.component';
import {TagEditComponent} from './tag/tag-edit/tag-edit.component';
import {TurbstatusColorComponent} from './turbstatus/turbstatus-edit/turbstatus-color/turbstatus-color.component';
import {ModelComponent} from './model/model.component';
import {CircuitComponent} from './circuit/circuit.component';
import {CircuitListComponent} from './circuit/circuit-list/circuit-list.component';
import {CircuitEditComponent} from './circuit/circuit-edit/circuit-edit.component';
import {CircuitService} from '../../service/circuit.service';
import {ModelService} from '../../service/model.service';
import {ModelListComponent} from './model/model-list/model-list.component';
import {ModelEditComponent} from './model/model-edit/model-edit.component';
import {StandardCurveComponent} from './model/standard-curve/standard-curve.component';
import {StateInfoComponent} from './model/state-info/state-info.component';
import {FaultAlarmComponent} from './model/fault-alarm/fault-alarm.component';
import {TagMapComponent} from './model/tag-map/tag-map.component';
import {StandardCurveListComponent} from './model/standard-curve/standard-curve-list/standard-curve-list.component';
import {StandardCurveEditComponent} from './model/standard-curve/standard-curve-edit/standard-curve-edit.component';
import {StandardCurveGroupEditComponent} from './model/standard-curve/standard-curve-group-edit/standard-curve-group-edit.component';

import {MatrixConfigComponent} from './matrix-config/matrix-config.component';
import {MatrixLogicGroupListComponent} from './matrix-config/matrix-logic-group-list/matrix-logic-group-list.component';
import {MatrixLogicGroupEditComponent} from './matrix-config/matrix-logic-group-edit/matrix-logic-group-edit.component';
import {MatrixLogicListComponent} from './matrix-config/matrix-logic-list/matrix-logic-list.component';
import {MatrixLogicEditComponent} from './matrix-config/matrix-logic-edit/matrix-logic-edit.component';
import {MatrixStateListComponent} from './matrix-config/matrix-state-list/matrix-state-list.component';
import {MatrixStateEditComponent} from './matrix-config/matrix-state-edit/matrix-state-edit.component';
import {MatrixStateGroupListComponent} from './matrix-config/matrix-state-group-list/matrix-state-group-list.component';
import {MatrixStateGroupEditComponent} from './matrix-config/matrix-state-group-edit/matrix-state-group-edit.component';
import {StausExperListComponent} from './staus-exper/staus-exper-list/staus-exper-list.component';
import {StausExperEditComponent} from './staus-exper/staus-exper-edit/staus-exper-edit.component';
import {StausExperComponent} from './staus-exper/staus-exper.component';
import {UserComponent} from './user/user.component';
import {UserListComponent} from './user/user-list/user-list.component';
import {UserEditComponent} from './user/user-edit/user-edit.component';

import {MatrixStateGroupService} from '../../service/matrix-state-group.service';
import {MatrixStateService} from '../../service/matrix-state.service';
import {MatrixLogicService} from '../../service/matrix-logic.service'
import {MatrixLogicGroupService} from '../../service/matrix-logic-group.service'
import {TurbStatusExprService} from '../../service/turbstatus_expr.service';
import {FactoryService} from '../../service/factory.service';
import {SchemeService} from '../../service/scheme.service';
import {WindPowersService} from '../../service/wind-powers.service';
import {StateInfoGroupEditComponent} from './model/state-info/state-info-group-edit/state-info-group-edit.component';
import {StateInfoListComponent} from './model/state-info/state-info-list/state-info-list.component';
import {StateInfoEditComponent} from './model/state-info/state-info-edit/state-info-edit.component';
import {FaultAlarmListComponent} from './model/fault-alarm/fault-alarm-list/fault-alarm-list.component';
import {FaultAlarmEditComponent} from './model/fault-alarm/fault-alarm-edit/fault-alarm-edit.component';
import {FaultAlarmGroupEditComponent} from './model/fault-alarm/fault-alarm-group-edit/fault-alarm-group-edit.component';
import {TagMapListComponent} from './model/tag-map/tag-map-list/tag-map-list.component';
import {TagMapEditComponent} from './model/tag-map/tag-map-edit/tag-map-edit.component';
import {TagMapGroupEditComponent} from './model/tag-map/tag-map-group-edit/tag-map-group-edit.component';
import {RunStopsService} from '../../service/run-stops.service';
import {FaultService} from '../../service/fault.service';
import {TagMapService} from '../../service/tag-map.service';
import {TurbcomponentService} from '../../service/turbcomponent.service';
import {ModelSchemeService} from '../../service/model-scheme.service';
import {UserService} from '../../service/user.service';
import {RoleService} from '../../service/role.service';
import {CompanyService} from '../../service/company.service';
import {FaultLevelConfigComponent} from './fault-level-config/fault-level-config.component';
import {FaultLevelListComponent} from './fault-level-config/fault-level-list/fault-level-list.component';
import {FaultLevelEditComponent} from './fault-level-config/fault-level-edit/fault-level-edit.component';
import {AlarmBasicConfigComponent} from './alarm-basic-config/alarm-basic-config.component';
import {AlarmBasicConfigListComponent} from './alarm-basic-config/alarm-basic-config-list/alarm-basic-config-list.component';
import {AlarmBasicConfigEditComponent} from './alarm-basic-config/alarm-basic-config-edit/alarm-basic-config-edit.component';
import {AlarmSoundService} from '../../service/alarm-sound.service';
import {SoundComponent} from './sound/sound.component';
import {SoundListComponent} from './sound/sound-list/sound-list.component';
import {SoundEditComponent} from './sound/sound-edit/sound-edit.component';
import {UserFarmAlarmconfigComponent} from './user-farm-alarmconfig/user-farm-alarmconfig.component';
import {UserfarmAlarmconfigListComponent} from './user-farm-alarmconfig/userfarm-alarmconfig-list/userfarm-alarmconfig-list.component';
import {UserfarmAlarmconfigEditComponent} from './user-farm-alarmconfig/userfarm-alarmconfig-edit/userfarm-alarmconfig-edit.component';
import {TurboperCategoryComponent} from './turboper-category/turboper-category.component';
import {TurboperCategoryListComponent} from './turboper-category/turboper-category-list/turboper-category-list.component';
import {TurboperCategoryEditComponent} from './turboper-category/turboper-category-edit/turboper-category-edit.component';
import {TurboperCategoryService} from '../../service/turboper-category.service';
import {FactoryComponent} from './factory/factory.component';
import {FactoryListComponent} from './factory/factory-list/factory-list.component';
import {FactoryEditComponent} from './factory/factory-edit/factory-edit.component';

import {AudioModule} from '../common/audio/audio.module';
import {CompanyComponent} from './company/company.component';
import {CompanyListComponent} from './company/company-list/company-list.component';
import {CompanyEditComponent} from './company/company-edit/company-edit.component';

import {DropdownModule} from 'primeng/dropdown';
import {TreeTableModule} from 'primeng/treetable';
import {TreeModule} from 'primeng/tree';
import {SharedModule as PrimengSharedModule} from 'primeng/shared';


import {StationTagComponent} from './station-tag/station-tag.component';
import {StationTagListComponent} from './station-tag/station-tag-list/station-tag-list.component';
import {StationTagEditComponent} from './station-tag/station-tag-edit/station-tag-edit.component';
import {StationTagService} from '../../service/station-tag.service';
import {DeviceCategoryService} from '../../service/device-category.service';
import {DeviceComponent} from './device/device.component';
import {DeviceListComponent} from './device/device-list/device-list.component';
import {DeviceEditComponent} from './device/device-edit/device-edit.component';
import {DeviceService} from '../../service/device.service';
import {SubArrayService} from '../../service/sub-array.service';
import {EditorParameterComponent} from './model/editor-parameter/editor-parameter.component';
import {EditorParameterEditComponent} from './model/editor-parameter/editor-parameter-edit/editor-parameter-edit.component';
import {ModelParamService} from '../../service/model-param.service';
import {ModelParamValueService} from '../../service/model-param-value.service';
import {ModelParamComponent} from './model-param/model-param.component';
import {ModelParamListComponent} from './model-param/model-param-list/model-param-list.component';
import {ModelParamEditComponent} from './model-param/model-param-edit/model-param-edit.component';
import {CalculateExpressionComponent} from './calculate-expression/calculate-expression.component';
import {CalculateExpressionListComponent} from './calculate-expression/calculate-expression-list/calculate-expression-list.component';
import {CalculateExpressionEditComponent} from './calculate-expression/calculate-expression-edit/calculate-expression-edit.component';
import {CalculateExpressionService} from '../../service/calculate-expression.service';
import {UploadComponent} from './model/fault-alarm/upload/upload.component';

import {ModuleComponent} from './module/module.component';
import {ModuleListComponent} from './module/module-list/module-list.component';
import {ModuleEditComponent} from './module/module-edit/module-edit.component';
import {ModuleService} from '../../service/module.service';
import {UploadService} from '../../service/upload.service';
import {ModuleCodeEditComponent} from './modulecode/module-code-edit/module-code-edit.component';
import {ModuleCodeComponent} from './modulecode/module-code.component';
import {ModuleCodeListComponent} from './modulecode/module-code-list/module-code-list.component';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    BasicRoutingModule,
    SharedModule,
    FormsModule,
    HttpModule,
    JsonpModule,
    AudioModule,
    DropdownModule,
    TreeTableModule,
    TreeModule,
    PrimengSharedModule,

  ],
  declarations: [
    ModelComponent,
    DicComponent,
    FarmComponent,
    BasicComponent,
    DicKeyListComponent,
    DicKeyEditComponent,
    DicValueListComponent,
    DicValueEditComponent,
    FarmListComponent,
    FarmEditComponent,
    TurbstatusComponent,
    TurbstatusListComponent,
    TurbstatusEditComponent,
    ColorConversion,
    FilterDataPipe,
    TurbstatusCheckComponent,
    TagComponent,
    PhaseComponent,
    PhaseListComponent,
    PhaseEditComponent,
    TagListComponent,
    TagDetailsComponent,
    TagEditComponent,
    TurbstatusColorComponent,
    CircuitComponent,
    CircuitListComponent,
    CircuitEditComponent,
    MatrixConfigComponent,
    MatrixLogicGroupListComponent,
    MatrixLogicGroupEditComponent,
    MatrixLogicListComponent,
    MatrixLogicEditComponent,
    MatrixStateListComponent,
    MatrixStateEditComponent,
    MatrixStateGroupListComponent,
    MatrixStateGroupEditComponent,
    StausExperListComponent,
    StausExperEditComponent,
    StausExperComponent,
    CircuitEditComponent,
    ModelListComponent,
    ModelEditComponent,
    StandardCurveComponent,
    StateInfoComponent,
    FaultAlarmComponent,
    TagMapComponent,
    StandardCurveListComponent,
    StandardCurveEditComponent,
    StandardCurveGroupEditComponent,
    StateInfoGroupEditComponent,
    StateInfoListComponent,
    StateInfoEditComponent,
    FaultAlarmListComponent,
    FaultAlarmEditComponent,
    FaultAlarmGroupEditComponent,
    TagMapListComponent,
    TagMapEditComponent,
    TagMapGroupEditComponent,
    StausExperEditComponent,
    UserComponent,
    UserListComponent,
    UserEditComponent,
    FaultLevelConfigComponent,
    FaultLevelListComponent,
    FaultLevelEditComponent,
    AlarmBasicConfigComponent,
    AlarmBasicConfigListComponent,
    AlarmBasicConfigEditComponent,
    SoundComponent,
    SoundListComponent,
    SoundEditComponent,
    UserFarmAlarmconfigComponent,
    UserfarmAlarmconfigListComponent,
    UserfarmAlarmconfigEditComponent,
    TurboperCategoryComponent,
    TurboperCategoryListComponent,
    TurboperCategoryEditComponent,
    UserfarmAlarmconfigEditComponent,
    FactoryComponent,
    FactoryListComponent,
    FactoryEditComponent,
    CompanyComponent,
    CompanyListComponent,
    CompanyEditComponent,
    StationTagComponent,
    StationTagListComponent,
    StationTagEditComponent,
    DeviceComponent,
    DeviceListComponent,
    DeviceEditComponent,
    EditorParameterComponent,
    EditorParameterEditComponent,
    ModelParamComponent,
    ModelParamListComponent,
    ModelParamEditComponent,
    CalculateExpressionComponent,
    CalculateExpressionListComponent,
    CalculateExpressionEditComponent,
    UploadComponent,
    ModuleComponent,
    ModuleListComponent,
    ModuleEditComponent,
    ModuleCodeEditComponent,
    ModuleCodeComponent,
    ModuleCodeListComponent,
  ],
  entryComponents: [
    DicKeyListComponent,
    DicKeyEditComponent,
    DicValueListComponent,
    DicValueEditComponent,
    TurbstatusListComponent,
    TurbstatusEditComponent,
    FarmListComponent,
    FarmEditComponent,
    TurbstatusCheckComponent,
    PhaseListComponent,
    PhaseEditComponent,
    TurbstatusCheckComponent,
    TagComponent,
    TagListComponent,
    TagDetailsComponent,
    TagEditComponent,
    CircuitEditComponent,
    CircuitListComponent,
    MatrixConfigComponent,
    MatrixLogicGroupListComponent,
    MatrixLogicGroupEditComponent,
    MatrixLogicListComponent,
    MatrixLogicEditComponent,
    MatrixStateListComponent,
    MatrixStateEditComponent,
    MatrixStateGroupListComponent,
    MatrixStateGroupEditComponent,
    StausExperComponent,
    StausExperListComponent,

    CircuitListComponent,
    ModelListComponent,
    ModelEditComponent,
    StandardCurveComponent,
    StateInfoComponent,
    FaultAlarmComponent,
    TagMapComponent,
    StandardCurveListComponent,
    StandardCurveEditComponent,
    StandardCurveGroupEditComponent,
    StausExperEditComponent,
    UserComponent,
    UserListComponent,
    UserEditComponent,
    EditorParameterEditComponent,
    StateInfoGroupEditComponent,
    StateInfoListComponent,
    StateInfoEditComponent,
    FaultAlarmListComponent,
    FaultAlarmEditComponent,
    FaultAlarmGroupEditComponent,
    TagMapListComponent,
    TagMapEditComponent,
    TagMapGroupEditComponent,
    FaultLevelConfigComponent,
    FaultLevelListComponent,
    FaultLevelEditComponent,
    AlarmBasicConfigComponent,
    AlarmBasicConfigListComponent,
    AlarmBasicConfigEditComponent,
    SoundComponent,
    SoundListComponent,
    SoundEditComponent,
    UserFarmAlarmconfigComponent,
    UserfarmAlarmconfigListComponent,
    UserfarmAlarmconfigEditComponent,
    TurboperCategoryListComponent,
    TurboperCategoryEditComponent,
    UserfarmAlarmconfigEditComponent,
    FactoryListComponent,
    FactoryEditComponent,
    CompanyListComponent,
    CompanyEditComponent,
    StationTagComponent,
    StationTagListComponent,
    StationTagEditComponent,
    DeviceListComponent,
    DeviceEditComponent,
    EditorParameterComponent,
    ModelParamListComponent,
    ModelParamEditComponent,
    CalculateExpressionComponent,
    CalculateExpressionListComponent,
    CalculateExpressionEditComponent,
    UploadComponent,
    ModuleComponent,
    ModuleListComponent,
    ModuleEditComponent,
    ModuleCodeEditComponent,
    ModuleCodeComponent,
    ModuleCodeListComponent,
  ],
  providers: [
    SetofkeyService,
    SetofvalueService,
    FarmService,
    TurbStatusService,
    PhaseService,
    TagService,
    CircuitService,
    ModelService,
    MatrixStateGroupService,
    MatrixStateService,
    MatrixLogicService,
    MatrixLogicGroupService,
    ModelService,
    MyValidators,
    FactoryService,
    SchemeService,
    WindPowersService,
    RunStopsService,
    TurbStatusExprService,
    FaultService,
    TagMapService,
    TurbcomponentService,
    ModelSchemeService,
    UserService,
    RoleService,
    CompanyService,
    AlarmSoundService,
    TurboperCategoryService,
    StationTagService,
    DeviceCategoryService,
    DeviceService,
    SubArrayService,
    DeviceCategoryService,
    ModelParamService,
    ModelParamValueService,
    CalculateExpressionService,
    UploadService,
    ModuleService,
  ]
})
export class BasicModule {
}


// WEBPACK FOOTER //
// ./src/app/module/basic/basic.module.ts
